package com.ruoyi.model.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 建模数据对象 construct_data
 *
 * @author weihanqiang
 * @date 2025-04-18
 */
public class ConstructData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 建模数据id */
    private Long constructId;

    /** 建模数据编号 */
    @Excel(name = "建模数据编号")
    private String constructNo;

    /** 成分id */
    @Excel(name = "成分id")
    private Long constituentId;

    /** 成分名称 */
    @Excel(name = "成分名称")
    private String constituentName;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String departmentName;

    /** 部门id */
    @Excel(name = "部门id")
    private Long departmentId;

    /** 仪器id */
    @Excel(name = "仪器id")
    private Long instrumentId;

    /** 仪器编号 */
    @Excel(name = "仪器编号")
    private String instrumentNo;

    /** 仪器名称 */
    @Excel(name = "仪器名称")
    private String instrumentName;

    /** 起始波长 */
    @Excel(name = "起始波长")
    private Integer startWavelength;

    /** 结束波长 */
    @Excel(name = "结束波长")
    private Integer endWavelength;

    /** 采样时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Excel(name = "采样时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date samplingTime;


    /** 数据构建人id */
    @Excel(name = "数据构建人id")
    private Long builderId;

    /** 数据构建人 */
    @Excel(name = "数据构建人")
    private String builderName;

    /** 构建状态代码 */
    @Excel(name = "构建状态代码")
    private String constructStateCode;

    /** 构建状态 */
    @Excel(name = "构建状态")
    private String constructStateName;

    /** 异常剔除方法代码 */
    @Excel(name = "异常剔除方法代码")
    private String abnormalEliminationCode;

    /** 异常剔除方法名称 */
    @Excel(name = "异常剔除方法名称")
    private String abnormalEliminationName;

    /** 数据集划分方法代码 */
    @Excel(name = "数据集划分方法代码")
    private String dataPartitioningCode;

    /** 数据集划分方法名称 */
    @Excel(name = "数据集划分方法名称")
    private String dataPartitioningName;

    /** 验证集占比 */
    @Excel(name = "验证集占比")
    private Integer testSize;

    /** 环境光谱id */
    @Excel(name = "环境光谱id")
    private Long envSpectrumId;

    /** 环境光谱编号 */
    @Excel(name = "环境光谱编号")
    private String envSpectrumNo;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 是否删除 */
    @Excel(name = "是否删除")
    private Integer isDelete;

    /** 新增人id */
    @Excel(name = "新增人id")
    private Long creatorId;

    /** 新增人 */
    @Excel(name = "新增人")
    private String creator;

    /** 修改人id */
    @Excel(name = "修改人id")
    private Long modifierId;

    /** 修改人 */
    @Excel(name = "修改人")
    private String modifier;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyTime;

    /** 异常剔除样本类别数组 */
    @Excel(name = "异常剔除样本类别数组")
    private String sampleCategoryArray;

    /** pc1数组 */
    @Excel(name = "pc1数组")
    private String pc1Array;

    public String getSampleCategoryArray() {
        return sampleCategoryArray;
    }

    public void setSampleCategoryArray(String sampleCategoryArray) {
        this.sampleCategoryArray = sampleCategoryArray;
    }

    public String getPc1Array() {
        return pc1Array;
    }

    public void setPc1Array(String pc1Array) {
        this.pc1Array = pc1Array;
    }

    public String getPc2Array() {
        return pc2Array;
    }

    public void setPc2Array(String pc2Array) {
        this.pc2Array = pc2Array;
    }

    /** pc2数组 */
    @Excel(name = "pc2数组")
    private String pc2Array;

    /** 样品总数 */
    @Excel(name = "样品总数")
    private Integer sampleTotal;

    /** 样品制备方法 */
    @Excel(name = "样品制备方法")
    private String preparationMethod;

    /** 光谱采集方法 */
    @Excel(name = "光谱采集方法")
    private String samplingMethod;

    /** 标准值测定仪器 */
    @Excel(name = "标准值测定仪器")
    private String standardInstrument;

    /** 标准值测定方法 */
    @Excel(name = "标准值测定方法")
    private String standardMethod;

    /** 标准值最小范围 */
    @Excel(name = "标准值最小范围")
    private Double standardMin;

    /** 标准值最大范围 */
    @Excel(name = "标准值最大范围")
    private Double standardMax;

    public void setConstructId(Long constructId)
    {
        this.constructId = constructId;
    }

    public Long getConstructId()
    {
        return constructId;
    }

    public void setConstructNo(String constructNo)
    {
        this.constructNo = constructNo;
    }

    public String getConstructNo()
    {
        return constructNo;
    }

    public void setConstituentId(Long constituentId)
    {
        this.constituentId = constituentId;
    }

    public Long getConstituentId()
    {
        return constituentId;
    }

    public void setConstituentName(String constituentName)
    {
        this.constituentName = constituentName;
    }

    public String getConstituentName()
    {
        return constituentName;
    }

    public void setDepartmentName(String departmentName)
    {
        this.departmentName = departmentName;
    }

    public String getDepartmentName()
    {
        return departmentName;
    }

    public void setDepartmentId(Long departmentId)
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId()
    {
        return departmentId;
    }

    public void setInstrumentId(Long instrumentId)
    {
        this.instrumentId = instrumentId;
    }

    public Long getInstrumentId()
    {
        return instrumentId;
    }

    public void setInstrumentNo(String instrumentNo)
    {
        this.instrumentNo = instrumentNo;
    }

    public String getInstrumentNo()
    {
        return instrumentNo;
    }

    public void setInstrumentName(String instrumentName)
    {
        this.instrumentName = instrumentName;
    }

    public String getInstrumentName()
    {
        return instrumentName;
    }

    public void setStartWavelength(Integer startWavelength)
    {
        this.startWavelength = startWavelength;
    }

    public Integer getStartWavelength()
    {
        return startWavelength;
    }

    public void setEndWavelength(Integer endWavelength)
    {
        this.endWavelength = endWavelength;
    }

    public Integer getEndWavelength()
    {
        return endWavelength;
    }

    public void setSamplingTime(Date samplingTime)
    {
        this.samplingTime = samplingTime;
    }

    public Date getSamplingTime()
    {
        return samplingTime;
    }

    public void setBuilderId(Long builderId)
    {
        this.builderId = builderId;
    }

    public Long getBuilderId()
    {
        return builderId;
    }

    public void setBuilderName(String builderName)
    {
        this.builderName = builderName;
    }

    public String getBuilderName()
    {
        return builderName;
    }

    public void setConstructStateCode(String constructStateCode)
    {
        this.constructStateCode = constructStateCode;
    }

    public String getConstructStateCode()
    {
        return constructStateCode;
    }

    public void setConstructStateName(String constructStateName)
    {
        this.constructStateName = constructStateName;
    }

    public String getConstructStateName()
    {
        return constructStateName;
    }

    public void setAbnormalEliminationCode(String abnormalEliminationCode)
    {
        this.abnormalEliminationCode = abnormalEliminationCode;
    }

    public String getAbnormalEliminationCode()
    {
        return abnormalEliminationCode;
    }

    public void setAbnormalEliminationName(String abnormalEliminationName)
    {
        this.abnormalEliminationName = abnormalEliminationName;
    }

    public String getAbnormalEliminationName()
    {
        return abnormalEliminationName;
    }

    public void setDataPartitioningCode(String dataPartitioningCode)
    {
        this.dataPartitioningCode = dataPartitioningCode;
    }

    public String getDataPartitioningCode()
    {
        return dataPartitioningCode;
    }

    public void setDataPartitioningName(String dataPartitioningName)
    {
        this.dataPartitioningName = dataPartitioningName;
    }

    public String getDataPartitioningName()
    {
        return dataPartitioningName;
    }

    public void setEnvSpectrumId(Long envSpectrumId)
    {
        this.envSpectrumId = envSpectrumId;
    }

    public Long getEnvSpectrumId()
    {
        return envSpectrumId;
    }

    public void setEnvSpectrumNo(String envSpectrumNo)
    {
        this.envSpectrumNo = envSpectrumNo;
    }

    public String getEnvSpectrumNo()
    {
        return envSpectrumNo;
    }

    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }

    public void setIsDelete(Integer isDelete)
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete()
    {
        return isDelete;
    }

    public void setCreatorId(Long creatorId)
    {
        this.creatorId = creatorId;
    }

    public Long getCreatorId()
    {
        return creatorId;
    }

    public void setCreator(String creator)
    {
        this.creator = creator;
    }

    public String getCreator()
    {
        return creator;
    }

    public void setModifierId(Long modifierId)
    {
        this.modifierId = modifierId;
    }

    public Long getModifierId()
    {
        return modifierId;
    }

    public void setModifier(String modifier)
    {
        this.modifier = modifier;
    }

    public String getModifier()
    {
        return modifier;
    }

    public void setModifyTime(Date modifyTime)
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime()
    {
        return modifyTime;
    }


    public Integer getTestSize() {
        return testSize;
    }

    public void setTestSize(Integer testSize) {
        this.testSize = testSize;
    }

    public Integer getSampleTotal() {
        return sampleTotal;
    }

    public void setSampleTotal(Integer sampleTotal) {
        this.sampleTotal = sampleTotal;
    }

    public String getPreparationMethod() {
        return preparationMethod;
    }

    public void setPreparationMethod(String preparationMethod) {
        this.preparationMethod = preparationMethod;
    }

    public String getSamplingMethod() {
        return samplingMethod;
    }

    public void setSamplingMethod(String samplingMethod) {
        this.samplingMethod = samplingMethod;
    }

    public String getStandardInstrument() {
        return standardInstrument;
    }

    public void setStandardInstrument(String standardInstrument) {
        this.standardInstrument = standardInstrument;
    }

    public String getStandardMethod() {
        return standardMethod;
    }

    public void setStandardMethod(String standardMethod) {
        this.standardMethod = standardMethod;
    }

    public Double getStandardMin() {
        return standardMin;
    }

    public void setStandardMin(Double standardMin) {
        this.standardMin = standardMin;
    }

    public Double getStandardMax() {
        return standardMax;
    }

    public void setStandardMax(Double standardMax) {
        this.standardMax = standardMax;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("constructId", getConstructId())
                .append("constructNo", getConstructNo())
                .append("constituentId", getConstituentId())
                .append("constituentName", getConstituentName())
                .append("departmentName", getDepartmentName())
                .append("departmentId", getDepartmentId())
                .append("instrumentId", getInstrumentId())
                .append("instrumentNo", getInstrumentNo())
                .append("instrumentName", getInstrumentName())
                .append("startWavelength", getStartWavelength())
                .append("endWavelength", getEndWavelength())
                .append("samplingTime", getSamplingTime())
                .append("builderId", getBuilderId())
                .append("builderName", getBuilderName())
                .append("constructStateCode", getConstructStateCode())
                .append("constructStateName", getConstructStateName())
                .append("abnormalEliminationCode", getAbnormalEliminationCode())
                .append("abnormalEliminationName", getAbnormalEliminationName())
                .append("dataPartitioningCode", getDataPartitioningCode())
                .append("dataPartitioningName", getDataPartitioningName())
                .append("envSpectrumId", getEnvSpectrumId())
                .append("envSpectrumNo", getEnvSpectrumNo())
                .append("remarks", getRemarks())
                .append("isDelete", getIsDelete())
                .append("creatorId", getCreatorId())
                .append("creator", getCreator())
                .append("createTime", getCreateTime())
                .append("modifierId", getModifierId())
                .append("modifier", getModifier())
                .append("modifyTime", getModifyTime())
                .append("testSize",getTestSize())
                .append("sampleCategoryArray",getSampleCategoryArray())
                .append("pc1Array",getPc1Array())
                .append("pc2Array",getPc2Array())
                .append("sampleTotal",getSampleTotal())
                .append("preparationMethod",getPreparationMethod())
                .append("samplingMethod",getSamplingMethod())
                .append("standardInstrument",getStandardInstrument())
                .append("standardMethod",getStandardMethod())
                .append("standardMin",getStandardMin())
                .append("standardMax",getStandardMax())
                .toString();
    }
}
